from __future__ import print_function
import torch
from torch.functional import tensordot

x = torch.empty(5, 3)
print(x)
# 随机初始化矩阵
y = torch.rand(5, 3)
print(y)

# 全为0 数据类型 long
z = torch.zeros(5, 3, dtype=torch.long)
print(z)

# 构造一个张量 直接使用数据
a = torch.tensor([5.5, 3])
print(a)

# 创建一个tensor 基于已存在的tensor 
b = x.new_ones(5, 3, dtype=torch.double)
print(b)

b = torch.rand_like(b, dtype=torch.float)
print(b)

# 获取维度信息
print(b.size())   # torch.Size([5, 3])  torch.Size是一个元组，所以它支持左右的元组操作


# 加法操作  三种操作
print(torch.add(x,y))
print(x + y)
result = torch.empty(5,3)
torch.add(x, y , out=result)
print(result)

# add x to y
y.add_(x)   # 任何使张量会发生变化的操作都有一个前缀‘_’
print(y)

# torch.view 改变一个tensor的大小或者形状
d = y.view(15)
print(d)
# 如果你有一个元的tensor，使用item()获取这个value
f = torch.randn(1)
print(f.item())
